signature TEMP = 
  sig
   
    val newLabel : unit -> string
    val reset : unit -> unit
    val resetLabel : unit -> unit

    val new_var : unit -> string
    val reset_var : unit -> unit

    val newNum : unit -> int
    val reset_num : unit -> unit

    val new_ptr : unit -> string

    val new_asst : string -> string
    val reset_asst : unit -> unit

    val new_V : string -> string
    val reset_V : unit -> unit

    val new_si : unit -> int
    val reset_si : unit -> unit

    val gen_name : int -> string
  end
